export function formatDate(fmt) {
  const date = new Date()
  const o = {
    'Y+': date.getFullYear(),
    'M+': date.getMonth() + 1, // 月
    'D+': date.getDate(), // 日
    'h+': date.getHours(), // 时
    'm+': date.getMinutes(), // 分
    's+': date.getSeconds(), // 秒
    W: date.getDay() // 周
  }

  for (let k in o) {
    if (new RegExp('(' + k + ')').test(fmt)) {
      fmt = fmt.replace(RegExp.$1, () => {
        if (k === 'W') {
          // 星期几
          const week = ['日', '一', '二', '三', '四', '五', '六']
          return week[o[k]]
        } else if (k === 'Y+' || RegExp.$1.length === 1) {
          // 年份 or 小于10不加0
          return o[k]
        } else {
          return ('00' + o[k]).substr(('' + o[k]).length) // 小于10补位0
        }
      })
    }
  }
  return fmt
}

export function formatNumber(numberStr) {
  try {
    let number = parseFloat(numberStr);

    if (isNaN(number)) {
      throw new Error("Invalid number format: " + numberStr);
    }

    // 保留一位小数并向下取整
    let roundedNumber = Math.trunc((number * 1000).toFixed(3)) / 1000;

    // 如果结果为0或-0，返回字符串"0"
    if (roundedNumber === 0) {
      return 0;
    }

    return roundedNumber;
  } catch (e) {
    console.error(e.message);
    return null;
  }
}

export function formatNumber2(numberStr) {
  try {
    let number = parseFloat(numberStr);

    if (isNaN(number)) {
      throw new Error("Invalid number format: " + numberStr);
    }

    // 保留一位小数并向下取整
    let roundedNumber = Math.trunc((number * 100).toFixed(2)) / 100;

    // 如果结果为0或-0，返回字符串"0"
    if (roundedNumber === 0) {
      return 0;
    }

    return roundedNumber;
  } catch (e) {
    console.error(e.message);
    return null;
  }
}

